/* 
 * File:   Sqrt.h
 * Author: Gab'z
 *
 * Created on 4 juin 2012, 09:38
 */

#ifndef SQRT_H
#define	SQRT_H

#include "UnaryOperator.h"

namespace calculator {

    class Sqrt : public UnaryOperator {
        friend class CommandMap;

    public:

        virtual ~Sqrt();
        std::string isExecutable() const;
        Sqrt* clone() const;

        const Number* apply(const Number* n) const throw (ArithmeticException);

    private:
        Sqrt(const std::string name);
        Sqrt(const Sqrt& orig);
    };
}

#endif	/* SQRT_H */

